<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模板</title>
   
</head>
  <!--引入开发版本Vue-->
  <script type="text/javascript" src="../js/vue.js"></script>
<body>

    <!-- 
        v-for指令
             1.用于展示列表数据
             2.语法: v-for="(item,index) in xxx" :key="yyy"
             3.可遍历: 数组,对象,字符串(用的很少),指定次数(用的很少)
     -->
    
    <!-- 准备好一个容器 -->
    <div id="root">
        <!-- 遍历数组 -->
        <h2>人员列表</h2>
        <input type="text" v-model="keyWord" placeholder="请输入名字">
        <button @click="sortType = 2">年龄升序</button>
        <button @click="sortType = 1">年龄降序</button>
        <button @click="sortType = 0">原顺序</button>
       <ul>
          <li v-for="(p,index) of filPerons" :key="p.id">
           {{p.name}} - {{p.age}}-{{p.sex}}
         </li>
       </ul>
       
   
    </div>
</body>

<script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
    
    //用computed实现
    new Vue({
        el:document.getElementById('root'),
        data:{
           keyWord:'',
            sortType:0,//0原顺序 1降序 2升序 @click
            persons:[
              {id:'001', name:'马冬梅',age:30,sex:'女'},
              {id:'002', name:'周冬雨',age:31,sex:'女'},
              {id:'003', name:'周杰伦',age:18,sex:'男'},
              {id:'004', name:'温兆龙',age:19,sex:'男'}
           ],
         },
         computed:{
            filPerons(){
               const arr =  this.filPerons = this.persons.filter((p)=>{
                  return p.name.indexOf(this.keyWord) !== -1
              })
              //判断一下是否需要排序 不用写！=0 1 和 2 判断是否为真
              if(this.sortType){
                  arr.sort((p1,p2)=>{
                      //函数体
                      return this.sortType ===1 ? p2.age - p1.age : p1.age - p2.age
                  })
              }
              return arr;
            }//end
        }
    })

   
 // sort函数中 后-前 就是降序 前 - 后是升序 
/* let arr = [1,2,3,4,5,6];
  arr.sort((a,b)=>{
    return b-a
  })
  console.log(arr); */

</script>

</html>